﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace VehicleScale
{
    public partial class FrmChangePassword : Form
    {
        #region Singleton Members
        private static volatile FrmChangePassword instance;
        private static object syncRoot = new Object();

        public static FrmChangePassword Instance
        {
            get
            {

                lock (syncRoot)
                {
                    if (instance == null)
                    {
                        instance = new FrmChangePassword();
                    }
                }

                return instance;
            }
        }
        #endregion

        #region Field Members
        //private IUserDataAccess _dataAccess = new UserDataAccess();
        #endregion

        #region Ctors
        public FrmChangePassword()
        {
            InitializeComponent();

            //Initialize();
        }
        #endregion

        //#region Methods
        //private void ValidatingControls()
        //{
        //    this.edtOldPassword.Validating += new CancelEventHandler(delegate
        //    {
        //        if (String.IsNullOrEmpty(this.edtOldPassword.Text))
        //        {
        //            errorProvider.SetError(this.edtOldPassword, "Bạn phải nhập mật khẩu cũ.");
        //        }
        //        else if (Library.Encrypt.Encrypt.Encode("MD5", this.edtOldPassword.Text) != Common.UserLogin.Password)
        //        {
        //            errorProvider.SetError(this.edtOldPassword, "Bạn nhập sai mật khẩu cũ.");
        //        }
        //        else
        //        {
        //            errorProvider.SetError(this.edtOldPassword, String.Empty);
        //        }
        //    });

        //    this.edtNewPassword.Validating += new CancelEventHandler(delegate
        //    {
        //        if (String.IsNullOrEmpty(this.edtNewPassword.Text))
        //        {
        //            errorProvider.SetError(this.edtNewPassword, "Bạn phải nhập mật khẩu mới.");
        //        }
        //        else if (this.edtNewPassword.TextLength < 6 || this.edtNewPassword.Text == this.edtOldPassword.Text)
        //        {
        //            errorProvider.SetError(this.edtNewPassword, "Mật khẩu phải có chiều dài ít nhất 6 ký tự.\nVà phải khác với mật khẩu cũ");
        //        }
        //        else 
        //        {
        //            errorProvider.SetError(this.edtNewPassword, String.Empty);
        //        }
        //    });

        //    this.edtConfirmPassword.Validating += new CancelEventHandler(delegate
        //    {
        //        if (this.edtNewPassword.Text != this.edtConfirmPassword.Text)
        //        {
        //            errorProvider.SetError(this.edtConfirmPassword, "Mật khẩu nhập lại phải giống mật khẩu mới.");
        //        }
        //        else
        //        {
        //            errorProvider.SetError(this.edtConfirmPassword, String.Empty);
        //        }
        //    });

        //}
        //private void Initialize()
        //{
        //    this.MaximizeBox = false;
        //    this.Size = new Size(480, 320);

        //    this.Load += new EventHandler(delegate
        //    {
        //        ValidatingControls();
        //    });
        //    this.btnChangePassword.Click += new EventHandler(delegate { ClickButtonChangePassword(); });
        //    this.btnClose.Click += new EventHandler(delegate
        //    {
        //        instance = null;
        //        this.Close();
        //    });
        //}

        //private void ClickButtonChangePassword()
        //{
        //    bool invalidInput = false;

        //    foreach (Control ctrl in this.panel2.Controls)
        //    {
        //        if (errorProvider.GetError(ctrl) != String.Empty)
        //        {
        //            invalidInput = true;
        //            break;
        //        }
        //    }

        //    if (invalidInput)
        //    {
        //        Library.Tools.MsgBox.Show("Bạn vẫn chưa nhập hợp lệ.", Messages.NoticeTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
        //    }
        //    else
        //    {
        //        this.errorProvider.Clear();

        //        Common.UserLogin.Password = Library.Encrypt.Encrypt.Encode("MD5", this.edtNewPassword.Text);
        //        _dataAccess.Edit(Common.UserLogin);
        //        Library.Tools.MsgBox.Show("Thay đổi mật khẩu thành công!", Messages.NoticeTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
        //    }
        //}
        //#endregion
    }
}
